package com.ruoyi.system.mapper;

import com.ruoyi.system.domain.BaseAndGroup;
import com.ruoyi.system.domain.UserBaseGroup;
import com.ruoyi.system.domain.UserVisualBase;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author tang ao long
 * @Date 2020-08-28 16:36
 * @Version 1.0
 */
public interface UserBaseGroupMapper {

    /**
     * 查询大屏分组信息
     * @param userBaseGroup 大屏分组
     * @return 返回
     */
    List<UserBaseGroup> selectUserBaseGroupByInfo(UserBaseGroup userBaseGroup);

    /**
     * 根据id批量删除
     * @param ids 批量删除的id
     * @return 返回删除结果
     */
    Integer deleteUserBaseGroupByIds(String[] ids);

    /**
     * 更新分组信息
     * @param userBaseGroup 分组信息修改
     * @return 返回修改成果
     */
    Integer updateUserBaseGroupById(UserBaseGroup userBaseGroup);

    /**
     * 检查分组名称唯一性
     * @param groupName 分组名称
     * @param id 分组ID
     * @return 返回检查结果
     */
    Integer checkUserBaseGroupUnique(@Param("groupName") String groupName,@Param("id") String id);

    /**
     * 根据ID信息查询用户分组信息对象
     * @param id 分组ID
     * @return 返回用户分组信息
     */
    UserBaseGroup selectUserBaseGroupInfoById(@Param("id") String id);

    /* 前台   ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓   */
    /**
     * 查询出该用户首页的所有大屏分组
     * @param baseAndGroup
     * @return
     */
    List<UserVisualBase> selectUserBaseGroupListByUserId(BaseAndGroup baseAndGroup);

    /**
     * 添加大屏分组
     * @return
     */
    public int addBaseGroup(UserBaseGroup userBaseGroup);




}
